# coding:utf-8
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import pandas as pd
import jieba


def run(text, imageName):
    if not text:
        return

    # jieba分词为列表, 用空格分隔词语，转化为一个长字符串
    text = jieba.cut(text, cut_all=False)
    text = ' '.join(text)

    # 加载词云形状图片作为 mask，即想要词云呈现什么形状
    maskImage = Image.open('tree.png')
    maskArray = np.array(maskImage)

    wordcloud = WordCloud(
        width=800,
        height=400,
        background_color='white',
        # 词云颜色方案
        colormap='viridis',
        # 控制词云图像的清晰度，值越大越清晰
        scale=10,
        # 设置词云的形状
        mask=maskArray,
        # 启用词语组合，使词云中的词语能够形成搭配
        collocations=True,
        # 控制词云中横排文字的比例，值越大横排文字越多
        prefer_horizontal=0.7,
        font_path='STHUPO.TTF'
    )
    wordcloud.generate(text)
    wordcloud.to_file(imageName)

    print('----------------------------- done.')
    return


if __name__ == '__main__':
    text = '一片落叶从前长在一棵树,上它是一片叶，子一片弱小的叶子风一吹好怕一不小心就凋零了可它是绿色的绿色里透着完美的活力在青春的朝色里很完美叶子的生命清润的春雨叮咚在校园的花坛里片片新绿随意地铺着雨水顺着高高的树干滑落轻轻地夹杂了一片绿的新凉爽的风一阵阵的吹着树上的叶子沙沙作响我静静的看着这风也在我心中无声的飘了过去此时一片泛黄的树叶掉落在了我的脚下弯下身将他们从地上捧起欣赏他们'
    run(text, 'wordCloud1.png')
    pass